<?php
namespace app\common\service;

class Token
{
    /**
     * 生成Token
     * @param array $data 加密数据
     * @return string
     */
    public function generateToken($data)
    {
        $key = config('app.token_key');
        $expire = config('app.token_expire');
        
        $data['expire'] = time() + $expire;
        return encrypt(json_encode($data), $key);
    }

    /**
     * 验证Token
     * @param string $token
     * @return array|bool
     */
    public function validateToken($token)
    {
        $key = config('app.token_key');
        
        try {
            $data = json_decode(decrypt($token, $key), true);
            if ($data && $data['expire'] > time()) {
                return $data;
            }
        } catch (\Exception $e) {
            return false;
        }
        
        return false;
    }
} 